package com.neuedu.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.*;

/**
 * <p>
 * 挂号信息表
 * </p>
 *
 * @author LiYang
 * @since 2024-11-11
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Register implements Serializable {

    private static final long serialVersionUID = 1L;
    public Register(Integer id, Integer visitState) {
        this.id = id;
        this.visitState = visitState;
    }

    public Register(String caseNumber, String realName, String gender, String cardNumber, LocalDate birthday, Integer age, String ageType, String homeAddress, LocalDateTime visitDate, String noon, Long deptmentId, Long employeeId, Long registLevelId, Integer settleCategoryId, String isBook, String registMethod, BigDecimal registMoney) {
        this.caseNumber = caseNumber;
        this.realName = realName;
        this.gender = gender;
        this.cardNumber = cardNumber;
        this.birthday = birthday;
        this.age = age;
        this.ageType = ageType;
        this.homeAddress = homeAddress;
        this.visitDate = visitDate;
        this.noon = noon;
        this.deptmentId = deptmentId;
        this.employeeId = employeeId;
        this.registLevelId = registLevelId;
        this.settleCategoryId = settleCategoryId;
        this.isBook = isBook;
        this.registMethod = registMethod;
        this.registMoney = registMoney;
    }
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 病历号
     */
    private String caseNumber;

    /**
     * 姓名
     */
    private String realName;

    /**
     * 性别（男、女）
     */
    private String gender;

    /**
     * 身份证号
     */
    private String cardNumber;

    /**
     * 出生日期
     */
    private LocalDate birthday;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 年龄类型（年、天）
     */
    private String ageType;

    /**
     * 家庭住址
     */
    private String homeAddress;

    /**
     * 本次看诊日期
     */
    private LocalDateTime visitDate;

    /**
     * 午别（上午、下午）
     */
    private String noon;

    /**
     * 本次挂号科室id
     */
    private Long deptmentId;

    /**
     * 本次挂号医生id
     */
    private Long employeeId;

    /**
     * 本次挂号级别id
     */
    private Long registLevelId;

    /**
     * 结算类别id
     */
    private Integer settleCategoryId;

    /**
     * 病历本要否（要、否）
     */
    private String isBook;

    /**
     * 收费方式（现金、银行卡、微信、医保卡、支付宝）
     */
    private String registMethod;

    /**
     * 本次看诊状态（1-已挂号
2-医生接诊
3-看诊结束
4-已退号）
     */
    private Integer visitState;

    /**
     * 挂号金额
     */
    private BigDecimal registMoney;
}
